package com.ruoyi.his.domain;

import com.ruoyi.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 科室表
 * @author ssd
 */
public class HisDept {
    private static final long serialVersionUID = 1L;
    @Excel(name = "科室序号", cellType = Excel.ColumnType.NUMERIC)
    private Long deptId;
    @Excel(name = "科室名称")
    private String deptName;
    @Excel(name = "岗位编码")
    private String deptCode;
    @Excel(name = "当前挂号量")
    private Long deptNum;
    @Excel(name = "负责人")
    private String deptLeader;
    @Excel(name = "手机号码")
    private String deptPhone;
    @Excel(name = "科室显示顺序")
    private Long deptSort;
    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;
    @Excel(name = "创建者")
    private String createBy;
    @Excel(name = "创建时间")
    private Date createTime;
    @Excel(name = "更新者")
    private String updateBy;
    @Excel(name = "更新时间")
    private String updateTime;
    @Excel(name = "备注")
    private String remark;

    public HisDept() {
    }

    public HisDept(Long deptId, String deptName,Long  deptSort,String deptCode, Long deptNum, String deptLeader, String deptPhone, String status, String createBy, Date createTime, String updateBy, String updateTime, String remark) {

        this.deptId = deptId;
        this.deptName = deptName;
        this.deptCode = deptCode;
        this.deptSort = deptSort;
        this.deptNum = deptNum;
        this.deptLeader = deptLeader;
        this.deptPhone = deptPhone;
        this.status = status;
        this.createBy = createBy;
        this.createTime = createTime;
        this.updateBy = updateBy;
        this.updateTime = updateTime;
        this.remark = remark;
    }

    public Long getDeptSort() {
        return deptSort;
    }

    public void setDeptSort(Long deptSort) {
        this.deptSort = deptSort;
    }

    /**
     * 获取
     * @return deptId
     */
    public Long getDeptId() {
        return deptId;
    }

    /**
     * 设置
     * @param deptId
     */
    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    /**
     * 获取
     * @return deptName
     */
    @NotBlank(message = "科室名称不能为空")
    @Size(min = 0, max = 50, message = "科室名称长度不能超过50个字符")
    public String getDeptName() {
        return deptName;
    }

    /**
     * 设置
     * @param deptName
     */

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    /**
     * 获取
     * @return deptCode
     */
    @NotBlank(message = "科室编码不能为空")
    @Size(min = 0, max = 64, message = "科室编码长度不能超过64个字符")
    public String getDeptCode() {
        return deptCode;
    }

    /**
     * 设置
     * @param deptCode
     */
    public void setDeptCode(String deptCode) {
        this.deptCode = deptCode;
    }

    /**
     * 获取
     * @return deptNum
     */
    public Long getDeptNum() {
        return deptNum;
    }

    /**
     * 设置
     * @param deptNum
     */
    public void setDeptNum(Long deptNum) {
        this.deptNum = deptNum;
    }

    /**
     * 获取
     * @return deptLeader
     */
    public String getDeptLeader() {
        return deptLeader;
    }

    /**
     * 设置
     * @param deptLeader
     */
    public void setDeptLeader(String deptLeader) {
        this.deptLeader = deptLeader;
    }

    /**
     * 获取
     * @return deptPhone
     */
    public String getDeptPhone() {
        return deptPhone;
    }

    /**
     * 设置
     * @param deptPhone
     */
    public void setDeptPhone(String deptPhone) {
        this.deptPhone = deptPhone;
    }

    /**
     * 获取
     * @return status
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置
     * @param status
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * 获取
     * @return createBy
     */
    public String getCreateBy() {
        return createBy;
    }

    /**
     * 设置
     * @param createBy
     */
    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    /**
     * 获取
     * @return createTime
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置
     * @param createTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取
     * @return updateBy
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置
     * @param updateBy
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取
     * @return updateTime
     */
    public String getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置
     * @param updateTime
     */
    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取
     * @return remark
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置
     * @param remark
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("deptId", getDeptId())
                .append("deptName",getDeptName())
                .append("deptCode", getDeptCode())
                .append("deptNum",getDeptNum())
                .append("deptSort",getDeptSort())
                .append("deptLeader",getDeptLeader())
                .append("deptPhone", getDeptPhone())
                .append("status", getStatus())
                .append("createBy", getCreateTime())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
